/*
 * @company: BlueInsight
 * 
 * @author: lxs
 * 
 * @date: 2018年10月4日
 */
package com.cedar.model.Template;

/**
 * @FileName: 模板方法模式
 * @author: lxs
 * @date: 2018年10月4日
 * @Description:
 */
public abstract class AbstractCalculator {
    // 被子类重写的类
    abstract public int calculate(int num1, int num2);

    public int[] split(String exp, String opt) {
        String array[] = exp.split(opt);
        int arrayInt[] = new int[2];
        arrayInt[0] = Integer.parseInt(array[0]);
        arrayInt[1] = Integer.parseInt(array[1]);
        return arrayInt;
    }
    //主方法，实现本类对其他方法的调用
    public final int calculate(String exp,String opt) {
        int array[] = split(exp,opt);
        return calculate(array[0], array[1]);
    }

}
